1. Field of the Invention
The present invention relates to an electronic computer system of a microprogram control type capable of retrying, on occurrence of an error during execution of an instruction, the instruction from a checkpoint established at a predetermined microstep and, in particular, to control of execution of a state transition prosecution which causes cancellation of the checkpoint in such a microprogram control type electronic computer system.
2. Description of the Prior Art
A known electronic computer system comprises a main memory for storing a plurality of programs and data and a processor for processing the programs. Each program comprises a succession of instructions. The processor comprises an instruction controller, an executing portion, a microprogram controller, a store request producing portion and a main memory controller.
The instruction controller successively fetches selected instructions from the main memory and interprets them. Each of the fetched instructions are delivered to the executing portion as a delivered instruction while an execution request for the delivered instruction is delivered to the microprogram controller.
The executing portion successively executes the delivered instruction according to microsteps of a microprogram by the microprogram controller responsive to the execution request and produces a succession of store data units and a succession of corresponding store indications.
The store request producing portion is coupled to the executing portion and the microprogram controller and produces a succession of store requests corresponding to the store data units under control of the microprogram controller.
The main memory controller is connected to the execution portion, the store request producing portion and the main memory, and successively buffers the store requests as buffered store requests and also buffers the succession of store data units as buffered store data units in response to the store indications one after another. Responsive to successive write enabling signals from the main memory, the main memory controller successively delivers the buffered store requests together with the buffered store data units to the main memory so as to write the buffered store data units into the main memory.
Responsive to the execution request, the microprogram controller establishes a checkpoint at a start point of the microprogram control for the delivered instruction so as to enable the executing portion to retry the delivered instruction from the checkpoint when an error occurs during execution of the delivered instruction.
Among the instructions, there is a specific instruction having the state transition prosecution execution which results in cancellation of the checkpoint. Generally, the specific instruction is an instruction having a prosecution for requiring a mode switching of a program from one to another, for example, a switching from a guest operation system (OS) of a virtual machine to a monitor one, a switching from a program application of a usual OS to a monitor of the OS, and others.
Since the checkpoint is cancelled by execution of the state transition prosecution, it is impossible to retry the instruction from the checkpoint. Therefore, on occurrence of the state transition prosecution during execution of the instruction, the microprogram controller prevents the executing portion from executing the state transition prosecution. After completion of writing into the main memory the buffered store data units which have been issued prior to the occurrence of the state transition prosecution, the microprogram controller makes the executing portion execute the state transition prosecution.
This means that execution of the instruction is interrupted and degrades the high speed performance of the computer system.
Considering that an error recoverable by the retry almost does not occur in the computer systems due to progress in computer technology, it is disadvantageous to delay execution of the state transition prosecution for the purpose of insurance of recovering from such a rare error.